package com.foreknow.demo4;

import java.util.Scanner;

/**
 *     *******************************************
 *         1. 注册
 *         2. 登录
 *         3. 抽奖
 *     *******************************************
 *     请选择： 1
 *     注册
 *     是否继续(y/n): y
 *
 *     *******************************************
 *             1. 注册
 *             2. 登录
 *             3. 抽奖
 *     *******************************************
 *         请选择： 2
 *         登录
 *         是否继续(y/n): n
 *         系统退出！！！！！！
 *
 *     实现注册功能
 *     *******************************************
 *             1. 注册
 *             2. 登录
 *             3. 抽奖
 *     *******************************************
 *         请选择： 1
 *         注册
 *         请填写个人信息
 *         用户名：admin
 *         密码：123456
 *
 *         注册成功，请记住您的会员卡号
 *         用户名    密码    会员卡号
 *         admin   123456    6789
 *
 *         是否继续(y/n): n
 *         系统退出！！！！！！
 *
 *     实现登录的功能
 *         如果用户名和密码输入错误，会提示用户重新输入，最多只有3次机会
 *     *******************************************
 *                 1. 注册
 *                 2. 登录
 *                 3. 抽奖
 *     *******************************************
 *             请选择： 2
 *             登录
 *             请输入用户名： admin
 *             请输入密码： 123456
 *             欢迎您登录： admin
 *
 *             是否继续(y/n): n
 *             系统退出！！！！！！
 *
 *     如何获取到四位随机数？
 *     //Math.random()随机数
 *     int cardNumber = (int)(Math.random()*(9999-1000)) + 1000;
 *     System.out.println(cardNumber);
 */
public class Example {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String answer = "y";
        boolean isRegister = false; //注册的标识位
        boolean isLogin = false; //登录的标识位
        String username = "";
        String password = "";
        int cardNumber = 0;
        do {
            System.out.println("*******************************************");
            System.out.println("1. 注册");
            System.out.println("2. 登录");
            System.out.println("3. 抽奖");
            System.out.println("*******************************************");

            System.out.println("请选择: ");
            int choice = input.nextInt();
            switch (choice) {
                case 1:
                    System.out.println("注册");
                    System.out.println("请填写个人信息:");
                    System.out.println("用户名:");
                    username = input.next();
                    System.out.println("密码:");
                    password = input.next();
                    cardNumber = (int) (Math.random() * (9999 - 1000)) + 1000;
                    System.out.println("注册成功，请记住您的会员卡号");
                    System.out.println("用户名    密码    会员卡号");
                    System.out.println(username + "   " + password + "   " + cardNumber);
                    isRegister = true;
                    break;
                case 2:
                    System.out.println("登录");
                    //判断用户是否已注册，如果没有注册提示用户
                    if(isRegister) {
                        for(int i = 1;i<=3;i++) {
                            //实现登录
                            System.out.println("请输入用户名: ");
                            String inputUsername = input.next();
                            System.out.println("请输入密码: ");
                            String inputPassword = input.next();
                            //登录成功
                            if(inputUsername.equals(username) && inputPassword.equals(password)) {
                                System.out.println("欢迎您登录: " + username);
                                isLogin = true;
                                break;
                            }else if(i < 3) {
                                System.out.println("您输入的用户名和密码不正确，还有"+(3 - i) + "次机会！");
                            }else {
                                System.out.println("3次错误用户的信息");
                            }
                        }
                    }else {
                        System.out.println("请先注册然后才能登录！！！！！！");
                    }
                    break;
                case 3:
                    System.out.println(" 抽奖");
                    if(isLogin) {
                        //抽奖
                        //向数组中添加5个随机数，遍历数组，判断会员卡号是否与数组中的某个元素相等，如果相同就是幸运会员
                        int[] array = new int[5];
                        for(int i = 0;i<array.length;i++) {
                            array[i] = (int) (Math.random() * (9999 - 1000)) + 1000;
                        }
                        //遍历数组
                        boolean isRight = false;
                        for(int i = 0;i<array.length;i++) {
                            if(cardNumber == array[i]) { //判断会员卡号是否与数组中的元素相等
                                isRight = true; //幸运会员
                                break;
                            }

                        }
                        if(isRight) {
                            System.out.println("您是幸运会员.......");
                        }else {
                            System.out.println("不是......");
                        }
                    }else {
                        System.out.println("请先登录，才能抽奖");
                    }
                    break;
            }
            System.out.println("是否继续(y/n)");
            answer = input.next();
        }while(answer.equals("y"));
        if(answer.equals("n")) {
            System.out.println("退出系统！！！！！！");
        }
    }
}
